﻿using MBA.FluentExt.Converters;

using Newtonsoft.Json;

namespace MBA.FluentExt
{
	#region Enumerations

	[JsonConverter(typeof(JsonEnumLowerConverter))]
	public enum ArrowAlignment
	{
		Right,
		Bottom,
	}

	[JsonConverter(typeof(JsonEnumLowerConverter))]
	public enum ButtonScale
	{
		Small,
		Medium,
		Large,
	}

	[JsonConverter(typeof(JsonEnumLowerConverter))]
	public enum ButtonType
	{
		Button,
		Submit,
		Reset,
	}

	[JsonConverter(typeof(JsonEnumLowerConverter))]
	public enum HideMode
	{
		Visibility,
		Offsets,
		Display
	}

	[JsonConverter(typeof(JsonEnumLowerConverter))]
	public enum IconAlignment
	{
		Left,
		Top,
		Right,
		Bottom,
	}

	[JsonConverter(typeof(JsonEnumLowerConverter))]
	public enum Region
	{
		North,
		West,
		Center,
		East,
		South,
	}

	[JsonConverter(typeof(JsonEnumCamelConverter))]
	public enum TemplateWriteMode
	{
		Overwrite,
		InsertFirst,
		InsertBefore,
		InsertAfter,
		Append
	}

	[JsonConverter(typeof(JsonEnumLowerConverter))]
	public enum TooltipType
	{
		QTip,
		Title,
	}

	[JsonConverter(typeof(JsonEnumLowerConverter))]
	public enum XType
	{
		Box,
		Button,
		ButtonGroup,
		ColorPalette,
		Component,
		Container,
		Cycle,
		DataView,
		DatePicker,
		Editor,
		EditorGrid,
		Flash,
		Grid,
		ListView,
		MultiSlider,
		Panel,
		Progress,
		PropertyGrid,
		Slider,
		Spacer,
		SplitButton,
		TabPanel,
		TreePanel,
		Viewport,
		Window,

		Paging,
		Toolbar,
		TbFill,
		TbItem,
		TbSeparator,
		TbSpacer,
		TbText,

		Menu,
		ColorMenu,
		DateMenu,
		MenuBaseItem,
		MenuCheckItem,
		MenuItem,
		MenuSeparator,
		MenuTextItem,

		Form,
		Checkbox,
		CheckboxGroup,
		Combo,
		CompositeField,
		DateField,
		DisplayField,
		Field,
		Fieldset,
		Hidden,
		HtmlEditor,
		Label,
		NumberField,
		Radio,
		RadioGroup,
		TextArea,
		TextField,
		TimeField,
		Trigger,

		Chart,
		BarChart,
		CartesianChart,
		ColumnChart,
		LineChart,
		PieChart,

		ArrayStore,
		DirectStore,
		GroupingStore,
		JsonStore,
		Store,
		XmlStore,
	}

	#endregion Enumerations
}